<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/edd.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/edd.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * linux/include/linux/edd.h</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *  Copyright (C) 2002, 2003, 2004 Dell Inc.</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> *  by Matt Domsch &lt;Matt_Domsch@dell.com&gt;</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> *</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * structures and definitions for the int 13h, ax={41,48}h</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * BIOS Enhanced Disk Drive Services</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * This is based on the T13 group document D1572 Revision 0 (August 14 2002)</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * available at http://www.t13.org/docs2002/d1572r0.pdf.  It is</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * very similar to D1484 Revision 3 http://www.t13.org/docs2002/d1484r3.pdf</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> *</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * In a nutshell, arch/{i386,x86_64}/boot/setup.S populates a scratch</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * table in the boot_params that contains a list of BIOS-enumerated</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * boot devices.</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * In arch/{i386,x86_64}/kernel/setup.c, this information is</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * transferred into the edd structure, and in drivers/firmware/edd.c, that</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * information is used to identify BIOS boot disk.  The code in setup.S</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * is very sensitive to the size of these structures.</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> *</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * This program is free software; you can redistribute it and/or modify</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * it under the terms of the GNU General Public License v2.0 as published by</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * the Free Software Foundation</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> *</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> * This program is distributed in the hope that it will be useful,</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> * GNU General Public License for more details.</span>
<a name="28" /><span class="True">      28:</span> <span class="k"> *</span>
<a name="29" /><span class="True">      29:</span> <span class="k"> */</span>
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfRUREX0hfMA__"><span class="b">_UAPI_LINUX_EDD_H</span></a>
<a name="31" /><span class="True">      31:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfRUREX0hfMA__"><span class="b">_UAPI_LINUX_EDD_H</span></a>
<a name="32" /><span class="True">      32:</span> 
<a name="33" /><span class="True">      33:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="34" /><span class="True">      34:</span> 
<a name="35" /><span class="True">      35:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RURETlJfMA__"><span class="b">EDDNR</span></a> <span class="c">0x1e9</span>        <span class="k">/* addr of number of edd_info structs at EDDBUF</span>
<a name="36" /><span class="True">      36:</span> <span class="k">                   in boot_params - treat this as 1 byte  */</span>
<a name="37" /><span class="True">      37:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREQlVGXzA_"><span class="b">EDDBUF</span></a>    <span class="c">0xd00</span>        <span class="k">/* addr of edd_info structs in boot_params */</span>
<a name="38" /><span class="True">      38:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_RURETUFYTlJfMA__"><span class="b">EDDMAXNR</span></a> <span class="c">6</span>        <span class="k">/* number of edd_info structs starting at EDDBUF  */</span>
<a name="39" /><span class="True">      39:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RURERVhUU0laRV8w"><span class="b">EDDEXTSIZE</span></a> <span class="c">8</span>        <span class="k">/* change these if you muck with the structures */</span>
<a name="40" /><span class="True">      40:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREUEFSTVNJWkVfMA__"><span class="b">EDDPARMSIZE</span></a> <span class="c">74</span>
<a name="41" /><span class="True">      41:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q0hFQ0tFWFRFTlNJT05TUFJFU0VOVF8w"><span class="b">CHECKEXTENSIONSPRESENT</span></a> <span class="c">0x41</span>
<a name="42" /><span class="True">      42:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_R0VUREVWSUNFUEFSQU1FVEVSU18w"><span class="b">GETDEVICEPARAMETERS</span></a> <span class="c">0x48</span>
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TEVHQUNZR0VUREVWSUNFUEFSQU1FVEVSU18w"><span class="b">LEGACYGETDEVICEPARAMETERS</span></a> <span class="c">0x08</span>
<a name="44" /><span class="True">      44:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RURETUFHSUMxXzA_"><span class="b">EDDMAGIC1</span></a> <span class="c">0x55AA</span>
<a name="45" /><span class="True">      45:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RURETUFHSUMyXzA_"><span class="b">EDDMAGIC2</span></a> <span class="c">0xAA55</span>
<a name="46" /><span class="True">      46:</span> 
<a name="47" /><span class="True">      47:</span> 
<a name="48" /><span class="True">      48:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UkVBRF9TRUNUT1JTXzA_"><span class="b">READ_SECTORS</span></a> <span class="c">0x02</span>         <span class="k">/* int13 AH=0x02 is READ_SECTORS command */</span>
<a name="49" /><span class="True">      49:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX01CUl9TSUdfT0ZGU0VUXzA_"><span class="b">EDD_MBR_SIG_OFFSET</span></a> <span class="c">0x1B8</span>  <span class="k">/* offset of signature in the MBR */</span>
<a name="50" /><span class="True">      50:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX01CUl9TSUdfQlVGXzA_"><span class="b">EDD_MBR_SIG_BUF</span></a>    <span class="c">0x290</span>  <span class="k">/* addr in boot params */</span>
<a name="51" /><span class="True">      51:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_RUREX01CUl9TSUdfTUFYXzA_"><span class="b">EDD_MBR_SIG_MAX</span></a> <span class="c">16</span>        <span class="k">/* max number of signatures to store */</span>
<a name="52" /><span class="True">      52:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX01CUl9TSUdfTlJfQlVGXzA_"><span class="b">EDD_MBR_SIG_NR_BUF</span></a> <span class="c">0x1ea</span>  <span class="k">/* addr of number of MBR signtaures at EDD_MBR_SIG_BUF</span>
<a name="53" /><span class="True">      53:</span> <span class="k">                     in boot_params - treat this as 1 byte  */</span>
<a name="54" /><span class="True">      54:</span> 
<a name="55" /><span class="True">      55:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">__ASSEMBLY__</span>
<a name="56" /><span class="True">      56:</span> 
<a name="57" /><span class="True">      57:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0VYVF9GSVhFRF9ESVNLX0FDQ0VTU18w"><span class="b">EDD_EXT_FIXED_DISK_ACCESS</span></a>           <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">0</span><span class="f">)</span>
<a name="58" /><span class="True">      58:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0VYVF9ERVZJQ0VfTE9DS0lOR19BTkRfRUpFQ1RJTkdfMA__"><span class="b">EDD_EXT_DEVICE_LOCKING_AND_EJECTING</span></a> <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">1</span><span class="f">)</span>
<a name="59" /><span class="True">      59:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0VYVF9FTkhBTkNFRF9ESVNLX0RSSVZFX1NVUFBPUlRfMA__"><span class="b">EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT</span></a> <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">2</span><span class="f">)</span>
<a name="60" /><span class="True">      60:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0VYVF82NEJJVF9FWFRFTlNJT05TXzA_"><span class="b">EDD_EXT_64BIT_EXTENSIONS</span></a>            <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">3</span><span class="f">)</span>
<a name="61" /><span class="True">      61:</span> 
<a name="62" /><span class="True">      62:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fRE1BX0JPVU5EQVJZX0VSUk9SX1RSQU5TUEFSRU5UXzA_"><span class="b">EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT</span></a> <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">0</span><span class="f">)</span>
<a name="63" /><span class="True">      63:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fR0VPTUVUUllfVkFMSURfMA__"><span class="b">EDD_INFO_GEOMETRY_VALID</span></a>                <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">1</span><span class="f">)</span>
<a name="64" /><span class="True">      64:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fUkVNT1ZBQkxFXzA_"><span class="b">EDD_INFO_REMOVABLE</span></a>                     <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">2</span><span class="f">)</span>
<a name="65" /><span class="True">      65:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fV1JJVEVfVkVSSUZZXzA_"><span class="b">EDD_INFO_WRITE_VERIFY</span></a>                  <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">3</span><span class="f">)</span>
<a name="66" /><span class="True">      66:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fTUVESUFfQ0hBTkdFX05PVElGSUNBVElPTl8w"><span class="b">EDD_INFO_MEDIA_CHANGE_NOTIFICATION</span></a>     <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">4</span><span class="f">)</span>
<a name="67" /><span class="True">      67:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fTE9DS0FCTEVfMA__"><span class="b">EDD_INFO_LOCKABLE</span></a>                      <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">5</span><span class="f">)</span>
<a name="68" /><span class="True">      68:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fTk9fTUVESUFfUFJFU0VOVF8w"><span class="b">EDD_INFO_NO_MEDIA_PRESENT</span></a>              <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">6</span><span class="f">)</span>
<a name="69" /><span class="True">      69:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RUREX0lORk9fVVNFX0lOVDEzX0ZONTBfMA__"><span class="b">EDD_INFO_USE_INT13_FN50</span></a>                <span class="f">(</span><span class="c">1</span> <span class="f">&lt;&lt;</span> <span class="c">7</span><span class="f">)</span>
<a name="70" /><span class="True">      70:</span> 
<a name="71" /><span class="True">      71:</span> <span class="m">struct</span> <span class="b">edd_device_params</span> <span class="f">{</span>
<a name="72" /><span class="True">      72:</span>     <span class="b">__u16</span> <span class="b">length</span><span class="f">;</span>
<a name="73" /><span class="True">      73:</span>     <span class="b">__u16</span> <span class="b">info_flags</span><span class="f">;</span>
<a name="74" /><span class="True">      74:</span>     <span class="b">__u32</span> <span class="b">num_default_cylinders</span><span class="f">;</span>
<a name="75" /><span class="True">      75:</span>     <span class="b">__u32</span> <span class="b">num_default_heads</span><span class="f">;</span>
<a name="76" /><span class="True">      76:</span>     <span class="b">__u32</span> <span class="b">sectors_per_track</span><span class="f">;</span>
<a name="77" /><span class="True">      77:</span>     <span class="b">__u64</span> <span class="b">number_of_sectors</span><span class="f">;</span>
<a name="78" /><span class="True">      78:</span>     <span class="b">__u16</span> <span class="b">bytes_per_sector</span><span class="f">;</span>
<a name="79" /><span class="True">      79:</span>     <span class="b">__u32</span> <span class="b">dpte_ptr</span><span class="f">;</span>        <span class="k">/* 0xFFFFFFFF for our purposes */</span>
<a name="80" /><span class="True">      80:</span>     <span class="b">__u16</span> <span class="b">key</span><span class="f">;</span>        <span class="k">/* = 0xBEDD */</span>
<a name="81" /><span class="True">      81:</span>     <span class="b">__u8</span> <span class="b">device_path_info_length</span><span class="f">;</span>    <span class="k">/* = 44 */</span>
<a name="82" /><span class="True">      82:</span>     <span class="b">__u8</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="83" /><span class="True">      83:</span>     <span class="b">__u16</span> <span class="b">reserved3</span><span class="f">;</span>
<a name="84" /><span class="True">      84:</span>     <span class="b">__u8</span> <span class="b">host_bus_type</span><span class="f">[</span><span class="c">4</span><span class="f">]</span><span class="f">;</span>
<a name="85" /><span class="True">      85:</span>     <span class="b">__u8</span> <span class="b">interface_type</span><span class="f">[</span><span class="c">8</span><span class="f">]</span><span class="f">;</span>
<a name="86" /><span class="True">      86:</span>     <span class="m">union</span> <span class="f">{</span>
<a name="87" /><span class="True">      87:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="88" /><span class="True">      88:</span>             <span class="b">__u16</span> <span class="b">base_address</span><span class="f">;</span>
<a name="89" /><span class="True">      89:</span>             <span class="b">__u16</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="90" /><span class="True">      90:</span>             <span class="b">__u32</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="91" /><span class="True">      91:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">isa</span><span class="f">;</span>
<a name="92" /><span class="True">      92:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="93" /><span class="True">      93:</span>             <span class="b">__u8</span> <span class="b">bus</span><span class="f">;</span>
<a name="94" /><span class="True">      94:</span>             <span class="b">__u8</span> <span class="b">slot</span><span class="f">;</span>
<a name="95" /><span class="True">      95:</span>             <span class="b">__u8</span> <span class="b">function</span><span class="f">;</span>
<a name="96" /><span class="True">      96:</span>             <span class="b">__u8</span> <span class="b">channel</span><span class="f">;</span>
<a name="97" /><span class="True">      97:</span>             <span class="b">__u32</span> <span class="b">reserved</span><span class="f">;</span>
<a name="98" /><span class="True">      98:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">pci</span><span class="f">;</span>
<a name="99" /><span class="True">      99:</span>         <span class="k">/* pcix is same as pci */</span>
<a name="100" /><span class="True">     100:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="101" /><span class="True">     101:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="102" /><span class="True">     102:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">ibnd</span><span class="f">;</span>
<a name="103" /><span class="True">     103:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="104" /><span class="True">     104:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="105" /><span class="True">     105:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">xprs</span><span class="f">;</span>
<a name="106" /><span class="True">     106:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="107" /><span class="True">     107:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="108" /><span class="True">     108:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">htpt</span><span class="f">;</span>
<a name="109" /><span class="True">     109:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="110" /><span class="True">     110:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="111" /><span class="True">     111:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">unknown</span><span class="f">;</span>
<a name="112" /><span class="True">     112:</span>     <span class="f">}</span> <span class="b">interface_path</span><span class="f">;</span>
<a name="113" /><span class="True">     113:</span>     <span class="m">union</span> <span class="f">{</span>
<a name="114" /><span class="True">     114:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="115" /><span class="True">     115:</span>             <span class="b">__u8</span> <span class="b">device</span><span class="f">;</span>
<a name="116" /><span class="True">     116:</span>             <span class="b">__u8</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="117" /><span class="True">     117:</span>             <span class="b">__u16</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="118" /><span class="True">     118:</span>             <span class="b">__u32</span> <span class="b">reserved3</span><span class="f">;</span>
<a name="119" /><span class="True">     119:</span>             <span class="b">__u64</span> <span class="b">reserved4</span><span class="f">;</span>
<a name="120" /><span class="True">     120:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">ata</span><span class="f">;</span>
<a name="121" /><span class="True">     121:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="122" /><span class="True">     122:</span>             <span class="b">__u8</span> <span class="b">device</span><span class="f">;</span>
<a name="123" /><span class="True">     123:</span>             <span class="b">__u8</span> <span class="b">lun</span><span class="f">;</span>
<a name="124" /><span class="True">     124:</span>             <span class="b">__u8</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="125" /><span class="True">     125:</span>             <span class="b">__u8</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="126" /><span class="True">     126:</span>             <span class="b">__u32</span> <span class="b">reserved3</span><span class="f">;</span>
<a name="127" /><span class="True">     127:</span>             <span class="b">__u64</span> <span class="b">reserved4</span><span class="f">;</span>
<a name="128" /><span class="True">     128:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">atapi</span><span class="f">;</span>
<a name="129" /><span class="True">     129:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="130" /><span class="True">     130:</span>             <span class="b">__u16</span> <span class="b">id</span><span class="f">;</span>
<a name="131" /><span class="True">     131:</span>             <span class="b">__u64</span> <span class="b">lun</span><span class="f">;</span>
<a name="132" /><span class="True">     132:</span>             <span class="b">__u16</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="133" /><span class="True">     133:</span>             <span class="b">__u32</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="134" /><span class="True">     134:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">scsi</span><span class="f">;</span>
<a name="135" /><span class="True">     135:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="136" /><span class="True">     136:</span>             <span class="b">__u64</span> <span class="b">serial_number</span><span class="f">;</span>
<a name="137" /><span class="True">     137:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="138" /><span class="True">     138:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">usb</span><span class="f">;</span>
<a name="139" /><span class="True">     139:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="140" /><span class="True">     140:</span>             <span class="b">__u64</span> <span class="b">eui</span><span class="f">;</span>
<a name="141" /><span class="True">     141:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="142" /><span class="True">     142:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">i1394</span><span class="f">;</span>
<a name="143" /><span class="True">     143:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="144" /><span class="True">     144:</span>             <span class="b">__u64</span> <span class="b">wwid</span><span class="f">;</span>
<a name="145" /><span class="True">     145:</span>             <span class="b">__u64</span> <span class="b">lun</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">fibre</span><span class="f">;</span>
<a name="147" /><span class="True">     147:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="148" /><span class="True">     148:</span>             <span class="b">__u64</span> <span class="b">identity_tag</span><span class="f">;</span>
<a name="149" /><span class="True">     149:</span>             <span class="b">__u64</span> <span class="b">reserved</span><span class="f">;</span>
<a name="150" /><span class="True">     150:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">i2o</span><span class="f">;</span>
<a name="151" /><span class="True">     151:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="152" /><span class="True">     152:</span>             <span class="b">__u32</span> <span class="b">array_number</span><span class="f">;</span>
<a name="153" /><span class="True">     153:</span>             <span class="b">__u32</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="154" /><span class="True">     154:</span>             <span class="b">__u64</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="155" /><span class="True">     155:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">raid</span><span class="f">;</span>
<a name="156" /><span class="True">     156:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="157" /><span class="True">     157:</span>             <span class="b">__u8</span> <span class="b">device</span><span class="f">;</span>
<a name="158" /><span class="True">     158:</span>             <span class="b">__u8</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="159" /><span class="True">     159:</span>             <span class="b">__u16</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="160" /><span class="True">     160:</span>             <span class="b">__u32</span> <span class="b">reserved3</span><span class="f">;</span>
<a name="161" /><span class="True">     161:</span>             <span class="b">__u64</span> <span class="b">reserved4</span><span class="f">;</span>
<a name="162" /><span class="True">     162:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">sata</span><span class="f">;</span>
<a name="163" /><span class="True">     163:</span>         <span class="m">struct</span> <span class="f">{</span>
<a name="164" /><span class="True">     164:</span>             <span class="b">__u64</span> <span class="b">reserved1</span><span class="f">;</span>
<a name="165" /><span class="True">     165:</span>             <span class="b">__u64</span> <span class="b">reserved2</span><span class="f">;</span>
<a name="166" /><span class="True">     166:</span>         <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span> <span class="b">unknown</span><span class="f">;</span>
<a name="167" /><span class="True">     167:</span>     <span class="f">}</span> <span class="b">device_path</span><span class="f">;</span>
<a name="168" /><span class="True">     168:</span>     <span class="b">__u8</span> <span class="b">reserved4</span><span class="f">;</span>
<a name="169" /><span class="True">     169:</span>     <span class="b">__u8</span> <span class="b">checksum</span><span class="f">;</span>
<a name="170" /><span class="True">     170:</span> <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span><span class="f">;</span>
<a name="171" /><span class="True">     171:</span> 
<a name="172" /><span class="True">     172:</span> <span class="m">struct</span> <span class="b">edd_info</span> <span class="f">{</span>
<a name="173" /><span class="True">     173:</span>     <span class="b">__u8</span> <span class="b">device</span><span class="f">;</span>
<a name="174" /><span class="True">     174:</span>     <span class="b">__u8</span> <span class="b">version</span><span class="f">;</span>
<a name="175" /><span class="True">     175:</span>     <span class="b">__u16</span> <span class="b">interface_support</span><span class="f">;</span>
<a name="176" /><span class="True">     176:</span>     <span class="b">__u16</span> <span class="b">legacy_max_cylinder</span><span class="f">;</span>
<a name="177" /><span class="True">     177:</span>     <span class="b">__u8</span> <span class="b">legacy_max_head</span><span class="f">;</span>
<a name="178" /><span class="True">     178:</span>     <span class="b">__u8</span> <span class="b">legacy_sectors_per_track</span><span class="f">;</span>
<a name="179" /><span class="True">     179:</span>     <span class="m">struct</span> <span class="b">edd_device_params</span> <span class="b">params</span><span class="f">;</span>
<a name="180" /><span class="True">     180:</span> <span class="f">}</span> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">packed</span><span class="f">)</span><span class="f">)</span><span class="f">;</span>
<a name="181" /><span class="True">     181:</span> 
<a name="182" /><span class="True">     182:</span> <span class="m">struct</span> <span class="b">edd</span> <span class="f">{</span>
<a name="183" /><span class="True">     183:</span>     <span class="m">unsigned</span> <span class="m">int</span> <span class="b">mbr_signature</span><span class="f">[</span><a href="cpu.c_macros_ref.html#_RUREX01CUl9TSUdfTUFYXzA_"><span class="b">EDD_MBR_SIG_MAX</span></a><span class="f">]</span><span class="f">;</span>
<a name="184" /><span class="True">     184:</span>     <span class="m">struct</span> <span class="b">edd_info</span> <span class="b">edd_info</span><span class="f">[</span><a href="cpu.c_macros_ref.html#_RURETUFYTlJfMA__"><span class="b">EDDMAXNR</span></a><span class="f">]</span><span class="f">;</span>
<a name="185" /><span class="True">     185:</span>     <span class="m">unsigned</span> <span class="m">char</span> <span class="b">mbr_signature_nr</span><span class="f">;</span>
<a name="186" /><span class="True">     186:</span>     <span class="m">unsigned</span> <span class="m">char</span> <span class="b">edd_info_nr</span><span class="f">;</span>
<a name="187" /><span class="True">     187:</span> <span class="f">}</span><span class="f">;</span>
<a name="188" /><span class="True">     188:</span> 
<a name="189" /><span class="True">     189:</span> <span class="f">#</span><span class="n">endif</span>                <span class="k">/*!__ASSEMBLY__ */</span>
<a name="190" /><span class="True">     190:</span> 
<a name="191" /><span class="True">     191:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _UAPI_LINUX_EDD_H */</span>
<a name="192" /><span class="True">     192:</span> </pre>
  </body>
</html>
